home *** CD-ROM | disk | FTP | other *** search
- /*
- * FEZ.h
- *
- * Interface definitions for the FEZ package.
- */
-
- #include <math.h>
-
- #define MAXPATH 32
- #define SCROLLBARWIDTH 16
- #define MAXQUEUE 32
-
- // Simple 2-D integer coordinates (for rectangles in the vertical plane)
-
- typedef struct { short x; short y; } Point2D;
-
- // Information about the start and end of a general zoom
-
- typedef struct {
-
- /* Caller fills these in */
- Rect frame; // Global and/or local coordinates w/r/t its window
- WindowPtr win; // Its window
- short thickness; // of rectangle lines, normally 1
-
- /* Fez routines use these internally */
- short zoomStyle; // Type of zoom to use (theWindow only)
- short opening; // Same as opening parameter in NewZoom (theWindow only)
- short isHidden; // Widget visibility flag: used for widget frame only
- RgnHandle clip; // Visible desktop in front of and including this window
- Point2D knot; // Where zoom path should pass through zoom
- Point2D c0; // Control points for next segment of spline
- Point2D c1;
-
- } ZoomFrame, **ZoomFrameHandle;
-
-
- /* Prototypes */
-
- ZoomFrameHandle NewZoom(ZoomFrame *theWidget, ZoomFrame *theWindow, int opening, int zoomStyle);
- void FrameEvadingZoom(ZoomFrameHandle zoomArray, short speed, short qSize);
- void DisposeZoom(ZoomFrameHandle zoomArray);
- void ZoomCenterRect(Rect *smallRect, Rect *bigRect, short thick, short speed, short qMax);
- void ComputeBezierPath(Point2D *p0, Point2D *c1, Point2D *c2, Point2D *p3, Point2D *path, short numPoints);
- void DrawBezierPath(Point2D *path, short numPoints);
-
- void SingleSplineZoom(ZoomFrame *start, ZoomFrame *end, int opening);
- void MultipleSplineZoom(ZoomFrameHandle zoomArray, int opening);
-
-